package com.whfc.wxmp.api.emp.service;

import com.whfc.common.result.ListData;
import com.whfc.common.result.PageData;
import com.whfc.common.result.PageVO;
import com.whfc.common.result.Result;
import com.whfc.emp.dto.*;
import com.whfc.emp.entity.AppTrainingCategory;
import com.whfc.emp.param.*;
import com.whfc.entity.dto.WxDeviceBindCheckDTO;
import com.whfc.fuum.entity.WxUser;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.Date;
import java.util.List;

/**
 * @Description: 培训功能
 * @author: realm
 * @version: 1.0
 * @date: 2025/8/27 9:07
 */
public interface WxTrainingService {


    /**
     * 培训分类
     *
     * @return
     */
    List<AppTrainingCategory> categoryList();

    /**
     * 培训列表
     *
     * @return
     */
    PageData<AppTrainingDTO> getTrainingList(AppTrainingListParam  param);

    /**
     * 培训试题
     *
     * @return
     */
    PageData<AppTrainingQuestionsDTO> questionList(AppTrainingQuestionListParam param);

    /**
     * 培训考试
     *
     * @return
     */
    PageData<AppExamPaperDTO> examList(AppExamPaperListParam reqParam);

    /**
     * 培训考试题目
     *
     * @return
     */
    PageData<AppExamPaperQuestionDTO> examQuestionList(AppExamPaperQuestionListParam reqParam);


    /**
     * 培训考试提交
     *
     * @return
     */
    Result trainingAnswer(AppTrainingAnswerAddParam reqParam);

    /**
     * 培训考试记录
     *
     * @return
     */
    Result trainingUserProgress(AppTrainingUserProgressListParam reqParam);

    /**
     * banner
     *
     * @return
     */
    List<AppTrainingBannerDTO> bannerList();

    /**
     * 考试记录
     *
     * @return
     */
    PageData<AppExamRecordDTO> examRecordPage(AppExamRecordListParam request);

    /**
     * 考试中
     *
     * @return
     */
    Result examing(AppExamRecordAddParam request);
}
